home *** CD-ROM | disk | FTP | other *** search
/ Aminet 16 / Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso / Aminet / dev / src / wangisrc.lha / wangi / z / ea / deea.c < prev    next >
C/C++ Source or Header  |  1996-02-04  |  2KB  |  117 lines

  1. /*************************************************************************
  2.  *
  3.  * deea
  4.  *
  5.  * Copyright ©1995 Lee Kindness and Evan Tuer
  6.  * cs2lk@scms.rgu.ac.uk
  7.  *
  8.  * deea.c
  9.  */
  10.  
  11. #include "deea.h"
  12.  
  13.  
  14. /*************************************************************************
  15.  * main() - DaDDDaaah!
  16.  */
  17.  
  18. int main(int argc, char **argv)
  19. {
  20.     long ret = EXIT_FAILURE;
  21.     
  22.     /* init */
  23.     if( InitSystem() )
  24.     {
  25.         struct Args *args;
  26.         
  27.         if( args = GetdeeaArgs(argc, argv) )
  28.         {
  29.             FILEt src;
  30.         
  31.             if( src = mfopen(args->arg_Filename, FILEOPEN_READ) )
  32.             {
  33.                 char *buf;
  34.                 
  35.                 if( buf = mmalloc(BUF_SIZE) )
  36.                 {
  37.                     char *s;
  38.                     int state = NOTIN_EA;
  39.                     int section = SECTION_PRE;
  40.                     
  41.                     for( s = mfgets(buf, BUF_SIZE, src);
  42.                          s;
  43.                          s = mfgets(buf, BUF_SIZE, src) )
  44.                     {
  45.                         switch( state )
  46.                         {
  47.                             case NOTIN_EA :
  48.                                 printf("NOTIN_EA\n");
  49.                                 if( strstr(s, IDENTIFIER) == s )
  50.                                 {
  51.                                     state = IN_EA;
  52.                                     section = SECTION_PRE;
  53.                                 }
  54.                                 break;
  55.                             
  56.                             case IN_EA :
  57.                                 switch( section )
  58.                                 {
  59.                                     case SECTION_PRE :
  60.                                         printf("SECTION_PRE\n");
  61.                                         switch( *s )
  62.                                         {
  63.                                             case 'E' : 
  64.                                                 break;
  65.                                             case 'Z' :
  66.                                                 section = SECTION_DATA;
  67.                                                 break;
  68.                                             default :
  69.                                                 state = NOTIN_EA;
  70.                                                 break;
  71.                                         }
  72.                                         break;
  73.                                     case SECTION_DATA :
  74.                                         printf("SECTION_DATA\n");
  75.                                         switch( *s )
  76.                                         {
  77.                                             case 'Z' :
  78.                                                 break;
  79.                                             case 'X' :
  80.                                                 section = SECTION_POST;
  81.                                                 break;
  82.                                             default :
  83.                                                 state = NOTIN_EA;
  84.                                                 break;
  85.                                         }
  86.                                         break;
  87.                                     case SECTION_POST :
  88.                                         printf("SECTION_POST\n");
  89.                                         switch( *s )
  90.                                         {
  91.                                             case 'X' :
  92.                                                 break;
  93.                                             default :
  94.                                                 state = NOTIN_EA;
  95.                                                 break;
  96.                                         }
  97.                                         break;
  98.                                 }
  99.                                 break;
  100.                         }
  101.                         mprintf("%s", s);
  102.                     }
  103.                 
  104.                     ret = EXIT_SUCCESS;
  105.                     
  106.                     mfree(buf);
  107.                 }
  108.                 
  109.                 mfclose(src);
  110.             }
  111.             FreedeeaArgs(args);
  112.         }
  113.         FreeSystem();
  114.     }
  115.     return( ret );
  116. }
  117.